/*
	公共请求方法
	url: 请求地址 ，method： 请求方式 ， data：请求参数
	option：交互配置
		{
			loading 布尔值 是否展示加载框
			loadTitle 加载框提示语
			successTitle 成功提示语
		}
*/
import base from "./base";
const request = function(url, method = "GET", data = {}, option = {
	loading: true
}) {
	// 使用 Promise : 页面可直接使用 async await 或 .then() 获取返回的值
	if (option.loading) {
		uni.showLoading({
			title: option.loadTitle || '加载中'
		});
	}
	return new Promise((resolve, reject) => {
		uni.request({
			url: base.host + url, // 拼接全路径
			method,
			data,
			success: (res) => {
				if (res.statusCode == '200') {
					uni.showToast({
						title: option.successTitle || '请求成功！',
						duration: 2000
					});
				}
				resolve(res.data)
			},
			fail: (err) => {
				uni.showToast({
					title: '请求失败！' + err,
					duration: 2000
				});
				reject(err)
			},
			complete: () => { 
				//成功 或者 失败 都执行这里
				uni.hideLoading();
			}
		});
	})
}
export default request